<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>
    宿主对象
  </title>
</head>
<body>

宿主对象：
  DOM：所有的HTML内容都看做是一个对象
  BOM：7个
DOM树：
  1.节点树： 1/2/3/8/9/10
  2.元素树:  1/9
Node对象属性：
  nodeType
  nodeName
  nodeValue
  -----
  parentNode
  childNodes
  firstChild
  nextSibling
  PreviousSibling
  -----
  parentElementNode
  children
  firstElementChild
  lastElementChild
  nextElementSibling
  previousElementSibling
  -----
  element.innerHTML
  elemnet.innerText
  element.textContent
  -----
  e.getAttribute()
  e.attributes[]
  e.setAttributeNode()
  e.removeAttribute()
  e.hasAttribute()
  -----
  docuemnt.getElementById()
  document/e.getElementsByTagName()
  document.getElementsByName()
  document/e.getElementsByClassName()
  docuemnt/e.querySelector()
  document/e.querySelectorAll()
  document.documentElement
  document.body
  document.all[]

DOM操作：
  创建节点--->
  1. document.createElement()
  2. document.createAttribute()
  3. document.createTextNode() --> e.innerHTML =
  8. document.createComment()
     docuemnt.createFragment()
  添加节点到元素树 --->
  e.setAttributeNode()
  e.appendChild(newtxt/newElement/fragment)
  e.inserBefore(newtxt/newElement/fragment,existiongChild)

删除某一个元素：
  var deletedChild = parent.removeChild(childNode)
替换已有的节点
  var replaceChild = parentNode.replaceChild(newChild,existiongChild)
删除属性节点
  element.removeAttribute('')
  element.removeAttributeNode(attrNode);

<!-- ================================================== -->

值类型
特殊类型
引用类型
  原生 Math, String, Global.paseInt/Global.isNaN
  宿主 DOM BOM(Window.winodw.alert())
  自定义

<!-- ================================================== -->

document.body.clientHeight;
document.body.clientWidth;


BOM 模型
  通过BOM对象，JavaScript 程序可以与当前的窗口进行交互。BOM对象是浏览器的内置对象
  BOM对象的根对象：
    Window: 该类型的对象指的是当前的浏览器窗口，是一个全局对象，其中所有的对象可以直接使用
    · window.screen
    · Window.window.screen
    · screen
    · window.screen
    function Window(){
      this.winodw = new Window();
      this.document = new Document();
      this.screen = new Screen();
      this.history = new History();
      this.location = new Location();
      this.navigator = new Navigator();
      this.event = new Event();
      this.alert = func...;
    }

window 对象的常用方法
  alert() 警告
  var = prompt() 输入提示 return:null/str
  var = confirm() 确认取消 return:true/false

JavaScript 中的特殊运算符
  typeof: string
  instanceof: boolean 对象是什么类型的
  delete: ?
  void: undefined

window 对象提供的两种定时器
  1. 周期性定时器：
        var id = setInterval(task,time) 设置
        clearInterval(id) 清空计时器
  2. 一次性定时器:
        var id = setTimeout(task,time)
        clearTimeout(id)


<script>
</script>
</body>
</html>